
from sqlalchemy import Column, String, INTEGER, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

"""
    说明:
        @ 这里的create_engine进行的操作是创建数据库连接,填写参数格式如下: 
        @ '数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名'
        @ 这里使用了.format函数,这就是个占位符,在format中按顺序填写就好,也可以指定编号比如{1}
"""
HOSTNAME='localhost'  # mysql数据库服务器的地址,这里以本机地址为例
PORT = '3306'  # 默认端口3306
USERNAME = 'root'  # 登录数据库的用户,这里以'root'用户为例
PASSWORD = '8904652xuexi~!@' # 登录数据库的密码 (这里写的是明码,注意在具体开发的时候应该不能这么干,后续想想怎么处理)
DATABASE = 'super_scope' # 选中数据库
DB_URI ='mysql+pymysql://{}:{}@{}:{}/{}'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)
engine = create_engine(DB_URI)

"""
    说明:
        @ 这里的sessionmaker是一个工厂类,按照我们创建的engine绑定了数据库引擎
        @ 当我们使用这个Session的时候都会创建一个绑定引擎的Session,通过Session操作数据库
"""
DBSession = sessionmaker(bind=engine)

# 创建一个父类数据库
Base = declarative_base()





